Recently, various techniques and standards for encoding and compressing motion pictures or still images have been suggested. Such standards are provided to efficiently compress and encode images with high performance. Currently, MPEG-1, MPEG-2, MPEG-4, H.261, H.263 and JVT methods have been already issued or have been suggested as standards regarding the image encoding for motion pictures or still images.
Herein, the JVT method employs motion estimation, similarly to the various international standards mentioned above. In addition, in order to encode residual signals appearing as a result of the motion estimation, image signals are temporarily and spatially transformed, scanned by using a zig-zag scanning, and then, encoded by using a quantization process. The above-mentioned image encoding method encodes images on the basis of blocks. As described above, when compressing and encoding motion pictures and still images through the motion estimation based on blocks, a macro block obtained by combining blocks in an image frame with each other has a motion vector. Since correlation exists between motion vectors of neighboring macro blocks from among a plurality of macro blocks, motion vectors of the previous frame of the neighboring macro blocks are used for encoding a motion vector of each macro block. In the JVT method, after calculating a prediction vector for a current macro block to be encoded, difference vectors between motion vectors of neighboring macro blocks adjacent to the current macro block and the prediction vector are encoded. Therefore, the JVT method is widely utilized when encoding images based on blocks due to its high efficiency.
However, although a conventional algorithm for estimating a motion vector is rather simple theoretically, a calculation procedure required for finding the motion vector is very complex. Accordingly, most of time may be spent for finding a motion vector during the encoding procedure. A full block matching algorithm (FBMA), a popular motion estimation algorithm, is a method for finding a macro block having the least distortion after calculating distortion measure for all macro blocks in a search range. The FBMA is the most optimal method for finding motion vectors, because the FBMA searches for all macro blocks including vectors having possibility to be determined as motion vectors and searches for a macro block for finding a current motion vector. However, since an excessive distortion computation gives considerable burden to a video encoder, the FBMA method has a limitation in practice. For example, if there is a wide search range, such as a high definition television, it is impossible to process data in real-time because the number of pixels to be compared with each other is enormous. In order to perform real-time data process, the size and the capacity of hardware significantly increase.
FIG. 1 is a view showing a current motion vector to be encoded and neighboring motion vector adjacent to the current motion vector, in a motion vector estimating method used for H.261, MPEG-1, MPEG-2, etc., which are various conventional standards for encoding motion pictures.
The motion vector estimating method used for H.261, MPEG-1, MPEG-2, etc., employs only a motion vector MV1 of a macro block immediately before a current macro block as a predictor when estimating a motion vector MV of the current macro block. Since the motion vector estimating method uses only the motion vector MV1 of the macro block immediately before the current macro block as a predictor, it is difficult to ensure reliability of values obtained when computing the motion vector of the current macro block.
FIG. 2 is a view showing a current motion vector to be encoded and neighboring motion vectors adjacent to the current motion vector, in a motion vector estimating method used for H.263, MPEG-4, etc., which are various conventional standards for encoding a motion picture.
As shown in FIG. 2, in the motion vector estimating method used for H.263, MPEG-4, etc., three motion vectors MV1, MV2, and MV3 of three macro blocks, which are closely positioned in a left side, an upper side, and a right side of the current motion vector MV to be encoded, are selected as candidates to be used for a prediction. The motion vector estimating method, which is used for H.263 or MPEG-4, etc., includes median prediction and minimum bit rate prediction.
FIG. 3 is a view a method for finding a search range for a motion vector of a current macro block by using the median prediction, in H.263 and MPEG-4, which are various conventional standards for encoding a motion picture.
A predictor 301 outputs each median value according to x and y components by selecting median values from among values of x and y directions with respect to the three motion vectors MV1, MV2, and MV3 positioned around the current motion vector MV to be encoded as shown in FIG. 2. Each median value outputted according to each component of x and y can be represented as equation 1.PMVx=Median(MV1x, MV2x, MV3x), PMVy=Median(MV1y, MV2y, MV3y)  Equation 1
Also, an operation unit 302 finds a difference value MVD between the current motion vector to be encoded and the PMVx and PMVy values so as to send the MVD to a decoder according to x and y components. The difference values MVDx and MVDy represented, corresponding to x and y components, can be represented as equation 2.MVDx=MVx−PMVx, MVDy=MVy−PMVy  Equation 2
Herein, the MVx is a value corresponding to the x component of the current motion vector to be encoded, and the MVy is a value corresponding to the y component of the current motion vector to be encoded.
The median prediction has relatively higher reliability than the method shown in FIG. 1 because the median prediction employs motion vectors of the three neighboring macro blocks. The median prediction has a characteristic in that the median prediction equally utilizes the motion vectors of the three neighboring macro blocks. However, the motion vectors of the neighboring macro blocks have mutually different correlation with respect to the motion vector of the current block. Accordingly, since the difference of correlation is not considered, reliability for the median prediction is absolutely low.
Therefore, in order to solve the above-mentioned problems, a method for finding a search range for the motion vector of the current macro block by using the minimum bit rate prediction, has been proposed. The method is used for finding a prediction error between a position of the current motion vector to be encoded and positions of neighbor motion vectors so as to select a neighbor motion vector having the smallest number of prediction error bits. After selecting the neighbor motion vector having the smallest number of the prediction error bits, the prediction error of the current motion vector to be encoded and a selected neighbor motion vector is encoded, and mode information for reporting a motion vector used for prediction is sent.
FIG. 4 is a view showing a bit-stream structure obtained when encoding movement of the current macro block by using one dimensional minimum bit rate prediction in H.263 and MPEG-4, which are various conventional standards for encoding a motion picture.
As shown in FIG. 4, an encoding process for a motion vector based on one dimensional minimum bit rate prediction is realized with a prediction error “MVDxmbp” for an x component, x mode information “MODEx”, a prediction error “MVDymbp” for an y component, and y mode information “MODEy” in two dimension.
In such an encoding process based on the minimum bit rate prediction, mode information and MVD information, which is prediction error information, with respect to x and y components may exist in data to be transferred. The prediction error information has a small number of bits because the minimum bit rate prediction is employed. In contrast, since the mode information has a great number of bits, burden for the mode information is relatively heavy. Such burden may obstruct a real-time compression and encoding process and increase an amount of data transferred, so that it is impossible to efficiently transfer data.